Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proper Upstream merge #88

Merged
merged 605 commits into from
Oct 13, 2024
Merged

Proper Upstream merge #88

merged 605 commits into from
Oct 13, 2024

Conversation

SynthTwo
Copy link
Contributor

About The Pull Request

DON'T FAIL PLEASE

Why it's Good for the Game

Proof of Testing

Changelog

🆑
add: Added new mechanics or gameplay changes
add: Added more things
del: Removed old things
qol: made something easier to use
balance: rebalanced something
fix: fixed a few things
sound: added/modified/removed audio or sound effects
image: added/modified/removed some icons or images
map: added/modified/removed map content
spellcheck: fixed a few typos
code: changed some code
refactor: refactored some code
config: changed some config setting
admin: messed with admin stuff
server: something server ops should know
/:cl:

carlarctg and others added 30 commits October 4, 2024 21:59
## About The Pull Request

Fix #86977

Caretakers refuge no longer traps you if you use codex cicatrix to cast
it

This happened cuz 
1. the traits that caused th book to drop were added before the signal
that listens for the trait's removal
2. the proc on_apply() is called right before adding the status to
owner, as it is also used as a check. this was aproblem because the
caretaker code told the owner to remove a list's status effects of its
type, but at that point in the chain it wasn't there yet

## Why It's Good For The Game

bug

## Changelog

:cl:
Caretakers refuge no longer traps you if you use codex cicatrix to cast
it
/:cl:
## About The Pull Request
Closes #86968
Closes #86969

## Changelog
:cl:
fix: Fixed BCIs sending messages twice and circuit laser pointers
sometimes failing to work
/:cl:
## About The Pull Request

The Derelict Outpost ruin is full of mobs that at absolute most 3-shot
most spacemen and have a very rapid AI. Most of this brought about by
the map being untouched as additional abilities have been given to the
type of mob that occupies it. This is far and away overtuned, so I made
the "hatchling" mobs not have health-based damage and speed scaling.

As a bonus, you get map-level varedits replaced with typepaths.

## Why It's Good For The Game

Do space ruins need very-definitely-instant-death mobs, or are we good
with just quick-death-if-you-cant-retreat-in-time mobs?

## Changelog

:cl:
balance: The hatchlings on the Derelict Outpost are marginally less
deadly, to the extent that fighting them is slightly more feasible.
/:cl:

---------

Co-authored-by: Ghom <[email protected]>
## About The Pull Request
Missed accounting for the disabled setting `TLV_VALUE_IGNORE` in:
- #86917

Now if you disable an alarm setting it will not blare a warning.

## Why It's Good For The Game
Bugfix.

## Changelog
:cl:
fix: Fix air alarm disabled setting to silence warnings
/:cl:
…dating (#86998)

## About The Pull Request
Closes #86993

## Changelog
:cl:
fix: Fixed luminiscent major extract activation button not
disappearing/updating when it should've
/:cl:
…toolbox (#87001)

## About The Pull Request
fixes this by making all their tools subtypes for drones


![image](https://github.com/user-attachments/assets/52dd2fdc-9816-4135-80f3-d9f880ec44ac)
## Changelog
:cl: grungussuss
fix: fixed drones being able to store multiple of the same type of tools
in their toolbox
/:cl:
…job roundstart. (#87005)

## About The Pull Request

Fixes #86899

Assigning head positions doesn't use the `available_occupations` list
and instead just iterates through all command roles direct from some
department job helper, jumping over any that are at capacity.

This means the `available_occupations` list doesn't get updated when
head positions are assigned and can lead to an edge case where two
players can both get a single-slot job. The first player gets it via
`fill_all_head_positions_at_priority()`. The second player gets it via
being given a random role when any now-full head job doesn't get removed
from the `available_occupations` list.

There are many ways to fix this. The solution I've opted for is removing
command roles from the `available_occupations` list entirely, letting
`fill_all_head_positions_at_priority()` handle the logic for this
exclusively.
## Why It's Good For The Game

I feex.
## Changelog
:cl:
fix: Fixes a bug where the game would assign multiple players to
single-slot command roles.
/:cl:
## About The Pull Request
Does as the title says
## Why It's Good For The Game
QoL feature for borgs, allows them to always see their laws without
being in menus/reminded by the AI
## Changelog
:cl:
qol: puts silicon laws in the status panel
/:cl:

---------

Co-authored-by: Odairu <[email protected]>
Co-authored-by: MrMelbert <[email protected]>
…on) (#86980)

## About The Pull Request

So previously I made a pr for fixing the prosopagnosia quirk, but the
code I wrote was far too ass for what was already incredibly hot code.
In the comments, Mothblocks requested using the same bitflag&signal
logic the other screentip modifiers use.

![image](https://github.com/user-attachments/assets/cd26ab56-f1e8-4be3-a847-5a4509d312c1)
I, of course, said I'd look into it in a few days.

Anyhow, 199 days later, I've made this pr.

Here we introduce a new `mob_flags` var on `/mob`, where we set
`MOB_HAS_SCREENTIPS_NAME_OVERRIDE`.
Then, based on whether this is set, the screentips system sends a signal
to the user mob to request possible name overrides.
We then make the prosopagnosia quirk set this flag and register the
signal, upon which it just sets the name to "Unknown" if it's a human.

This fixes our issues (in a saner way).
## Why It's Good For The Game

Better is prosopagnosia can't be easily obviated by just having
screentips on.
## Changelog
:cl:
fix: Prosopagnosia actually accounts for hover screentips, showing
humans as Unknown in those too.
/:cl:
## About The Pull Request

This PR aims to fix some issues on Birdshot station. The issues fixed
are as follows:

### 1. Door Naming Consistency
The two doors at the front of engineering had different names, one being
`Engine Airlock` while the other was `Main Engineering`. Both were
changed to be `Main Engineering`.


![image](https://github.com/user-attachments/assets/8221259c-e763-4944-ac2c-475ed05dcc0a)

### 2. Access Fixes for Security Officers (Engineering)
Added
`[/obj/effect/mapping_helpers/airlock/access/any/engineering/general]`
to the following doors, as Security Officers (Engineering) couldn't even
open the front door to enter the department and couldn't go to atmos
(since it required access for `construction` but Security Officers
(Engineering) get access to `engineering` and `atmospherics` only). Also
added this for the Locker Room because of the same problem.


![image](https://github.com/user-attachments/assets/4d6b692e-5158-466b-925a-1265af687e8b)

### 3. Atmospherics Maintenance Door Access
Replaced
`[/obj/effect/mapping_helpers/airlock/access/any/engineering/construction]`
with
`[/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance]`
for the Atmospherics Maintenance door present to the left of the Chief
Engineer's office.


![image](https://github.com/user-attachments/assets/dea7b9c1-0614-4cd7-a8ef-4e6dd0748ba8)

### 4. Locker Room Maintenance Door Access
Replaced
`[/obj/effect/mapping_helpers/airlock/access/any/engineering/general]`
with
`[/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance]`
for the Maintenance door in the Locker Room.


![image](https://github.com/user-attachments/assets/ead0cb3e-0608-4675-8dc2-140810db5d0b)
## Why It's Good For The Game

This change ensures that Security Officers (Engineering) can properly
access their primary workplace. Previously, they had to take an
inefficient route through maintenance to enter Engineering, which was
both inconvenient and hindered their ability to respond quickly to
emergencies. By allowing them to use the front door and access key areas
like Atmospherics, this fix improves quality of life and ensures they
can perform their duties more efficiently.
## Changelog
:cl:
fix: Security Officers (Engineering) can now open crucial doors in
Engineering on Birdshot
fix: Corrected access inconsistencies for maintenance doors in the
Engineering department on Birdshot
fix: Resolved naming inconsistency for the front doors of Engineering on
Birdshot
/:cl:
## About The Pull Request
Adds a check for icon state existence in spritesheet insert, run during
unit tests.

## Why It's Good For The Game
Inserting a nonexistent icon state via `Insert()` will corrupt the
spritesheet it's inserted to, resulting in offsets being
incorrect—specifically, it results in the entire icon's contents being
inserted. This happened downstream on Doppler Shift and broke language
icons. I fixed the issue there but figured that there should be a check
upstream for it.

`if (!I || !length(icon_states(I))) // that direction or state doesn't
exist)` This check doesn't catch it, by the way. Since it returns the
entire icon file, `length(icon_states(I))` is >0. You could do
`length(icon_states) != 1`, but then it still wouldn't catch cases where
there's a single-icon-state icon *and* the icon_state is invalid. Boo. A
test like this is the best option.

I tried using the rust-g variant of icon_states and sort-of got it
working, but I figured it'd be too fragile to justify given that it
doesn't accept actual icon instances, only paths.
…958)

## About The Pull Request
This fixes a bug that was hard to troubleshoot. While I was testing my
other PR, I noticed that I was getting inconsistent atmos readouts while
using a gas sensor hooked to an air alarm. Sometimes I would get the
readout from the tile of the air alarm, and other times it would give me
the readout of the gas sensor... I tracked it down and the root cause
was the `COMSIG_TURF_EXPOSE` signal not being properly reassigned when a
gas sensor was connected.

My fix is to transfer the signal from the air alarm to the air sensor
and vice versa when they are connected/disconnected. I also added some
redundancies in place to limit air sensors to be only connected to one
air alarm at a time. I threw in a mapping check to make sure one air
alarm isn't linked to multiple sensors to catch some accidents.

Another small fix is that air alarms now can be relinked to other air
sensors if the sensor is reset. This was a problem for round-start
linked air alarms that were paired with sensors since you could turn off
or break a sensor and then the air alarm would have it's link severed
without being able to link to any new sensors.

## Why It's Good For The Game
Air alarms are becoming more robust!

## Changelog
:cl:
fix: Fix air alarms to work correctly while connected to a gas sensor
fix: Fix paired air alarms and sensors to be able to relink to other
devices if turned off, reset, or destroyed.
/:cl:
## About The Pull Request

Washing now give you status effect that regen 4 stamina per tick.


https://github.com/user-attachments/assets/1691ac4b-d8e4-402a-98d1-3cba61c00879

BUT if you felinid you will loss 4 stamina insteed becouse cats don't
love water.


https://github.com/user-attachments/assets/e566e4d8-7f8a-47e6-aadc-b2910758d6ea


## Why It's Good For The Game

Gives more reasons to wash.

## Changelog
:cl:
add: Showers now heals stamina when you washing. But not for you
catgitls.
/:cl:

---------

Co-authored-by: MrMelbert <[email protected]>
…h of stuff (#86884)

## About The Pull Request

We have the HIDEBELT flag but it isn't used anywhere and in fact is not
functional, so I added code to examine to enable it. I also threw the
flag onto a bunch of stuff -- primarily big billowy things, or stuff
like trenchcoats. This would include hiding guns, toolbelts, plant bags,
things of that nature. If you steal the Captain's saber and throw a
bedsheet on your head, you've pulled off the perfect crime.
## Why It's Good For The Game

Adds another way to be sneaky and immensely suspicious, increasing
paranoia when some guy wearing a big shapeless suit walks into the room.

![200w](https://github.com/user-attachments/assets/6faf3e9b-1a8a-4dec-ad4f-12792cf7eba0)
## Changelog
:cl: Bisar
add: Clothing can now hide what you're wearing on your belt.
/:cl:
# Conflicts:
#	code/modules/clothing/suits/bio.dm
…adows from blood and runes) (#87013)

Basically goes through and puts some flat objects onto the floor plane.
Also puts blood back on the floor plane, since it seems like it used to
be but may have been moved mistakenly questionmark.

This means they will not be affected by Ambient Occlusion:

![image](https://github.com/user-attachments/assets/594b878b-e5e9-42e3-900e-3c9390c819ee)

A lot of these "flat" things look really out of place because they're
secretly "floating" due to being on the wrong plane

:cl: Melbert
qol: Runes, crayons, and similar decals no longer have shadows
fix: Blood and similar "mess" decals no longer have shadows (again)
/:cl:
MrMelbert and others added 26 commits October 11, 2024 21:30
## About The Pull Request

Fixes #87147

Whomever refactored bees null'd the beegent before spawning the corpse,
and we pass the bee by ref into corpse init to grab beegent

## Changelog

:cl: Melbert
fix: Dead bees maintain their color and reagents
/:cl:
## About The Pull Request
a lot of things that shouldn't slosh are `reagent_container`s, let's fix
that by making the behavior defined on `reagent_container/cup` instead.
if you know of more items that shouldn't slosh pls tell me I'll include
them in this fix

## Why It's Good For The Game
some stuff shouldn't slosh, a lot actually.
## About The Pull Request
Mops and similar should check the true plane instead of whatever plane
things end up at after being offset by z levels.
Fixes NovaSector/NovaSector#4465
## Why It's Good For The Game
clean up this mess right now, before the ants show up
## Changelog
:cl:
fix: Mops and similar work properly on multi-z stations
/:cl:
## About The Pull Request

Some bugfixes that got pushed while I was working on the previous batch,
might as well get them in too.

## Changelog

See autochangelogs
adds the wires underneath the solars smes
## About The Pull Request
Completely refactors plasmaman code by moving their self-ignition code
to limbs via a component and making suits handle their extinguishing
code by themselves. This means that if someone gets a plasmaman limb
attached to them, they'll need to seal it off from oxygen or it will
ignite!

## Why It's Good For The Game

Plasmaman code is really bad and we've been trying to move away from
species specific code and make them just limb and organ containers
Closes #52649

## Changelog
:cl:
fix: Plasmaman space suit internal extinguisher works and can be
refilled now
refactor: Refactored plasmamen self-ignition to be limb-side instead of
being handled by their species
/:cl:
## About The Pull Request
- pet bonus element now works by getting an emote fed into it.
- all pets who had pet bonus emotes now have it as a proper emote they
can use if controlled by a player.
## Why It's Good For The Game
- standardises pet bonus so it's easier to give more behaviors to
petting, like sounds :3
- allows basic mobs controlled by players to use the emote at will,
which will allow them to react to situations more with emotes.
## Changelog
:cl: grungussuss
add: a lot of basic mobs and pets got new emotes
refactor: emotes triggered by petting pets work differently now, please
report any oddities with these behaviors.
sound: new emotes for basic mobs got sounds
/:cl:
## About The Pull Request

![image](https://github.com/user-attachments/assets/1844f400-114f-4710-b27f-0651e7a536d5)
## Changelog
:cl: grungussuss
fix: snore emote works properly now
/:cl:
## About The Pull Request
this was changed a few weeks back but wasnt actually intentional.

## Why It's Good For The Game
fixes ashdrake arena attack not clearing out lavaland walls

## Changelog
:cl:
fix: fixes ashdrake arena attack not clearing out lavaland walls
/:cl:
## About The Pull Request

Centcom forced an intern to run the spell-checker for faxes sent to
stations working within a radioactive nebula

## Why It's Good For The Game

spell good

## Changelog

:cl:
spellcheck: Proofreads some faxes sent during radioactive nebulae
/:cl:
## About The Pull Request

Closes #87181

## Changelog
:cl:
fix: Untie shoes should have its cooldown increased correctly when
casting it from a long distance
/:cl:
## About The Pull Request
flags the automatic, end of round map votes as `forced`, as they were
previously.
## Why It's Good For The Game
democracy is mandatory in this household
## Changelog
not player facing
## About The Pull Request

Doing another one early for map vote fix

## Changelog

Autochangelogs included
@SynthTwo SynthTwo merged commit 4a070e8 into IrisSS13:master Oct 13, 2024
24 checks passed
@SynthTwo SynthTwo deleted the upsmyrmemememem branch October 19, 2024 20:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.